【记】手机号码输入断位空格

记录表单优化,手机号码加断位空格

描述

  1. 86手机
    按照3、4、4断位,例如:100 1000 8888
  2. 886手机
    按照4、4断位,例如:1000 1000

代码

监听 onChange 事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
handleOnPhoneChange (e) {
const reg = /[^\d]/g
let curPhone = e.target.value.replace(reg, '')
if (this.state.code === '+852') {
curPhone = this.phoneSpaceFormat852(currentPhone)
} else {
curPhone = this.phoneSpaceFormat86(currentPhone)
}
this.props.form.setFieldsValue({
phone: curPhone
})
}


phoneSpace86 = (curPhone) => {
let temp = curPhone.substr(0,3) + ' ' + curPhone.substr(3,4) + ' ' + curPhone.substr(7,4)
return temp.trim()
}

phoneSpace852 = (curPhone) => {
let temp = curPhone.substr(0,4) + ' ' + curPhone.substr(4,4)
return temp.trim() //这里一定要去空格,不然会有退格键失效的情况
}

正则

用正则的问题,按退格的情况,会出现很多特殊bug, 需要额外处理

-------------本文结束 感谢您的阅读-------------
请我吃辣条吖~